package org.example.boot.usercenter.model.vo;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @InterfaceName: ProductVo
 * @Description:
 * @Author: YourName
 * @Date: 2025/3/19
 */
@Data
@ApiModel(description = "商品信息视图对象")
public class ProductViewVo implements Serializable {
    /**
     * 商品ID
     */
    @ApiModelProperty(value = "商品ID", example = "123")
    private Long id;

    /**
     * 标题(不可以超过15个汉字)
     */
    @ApiModelProperty(value = "商品标题", example = "高品质商品", notes = "标题长度不可超过15个汉字")
    private String title;

    /**
     * 主图URL（CDN地址）
     */
    @ApiModelProperty(value = "商品主图URL", example = "https://example.com/image.jpg")
    private String mainImage;

    /**
     * 品牌ID（后续关联品牌表）
     */
    @ApiModelProperty(value = "品牌ID", example = "1")
    private Long brandId;

    /**
     * 商品详情描述
     */
    @ApiModelProperty(value = "商品详情描述", example = "这是一款高品质的商品")
    private String description;

    /**
     * 1-上架 0-下架
     */
    @ApiModelProperty(value = "商品状态", example = "1", allowableValues = "0,1", notes = "1: 上架, 0: 下架")
    private Integer status;

    /**
     * 原价（划线价）(小数位数不可以超过2位，整数部分不可以超过10位)
     */
    @ApiModelProperty(value = "商品原价", example = "99.99", notes = "小数位数不可超过2位，整数部分不可超过10位")
    private BigDecimal originPrice;

    /**
     * 省份
     */
    @ApiModelProperty(value = "省份", example = "广东省")
    private String province;

    /**
     * 城市
     */
    @ApiModelProperty(value = "城市", example = "深圳市")
    private String city;
}
